const opusService = require('../service/opus.service');

class OpusController {

  // 创建一个作品
  async create(ctx, next) {
    // 1.获取参数
    const { opusKey, opusValue, opusLink } = ctx.request.body;
    const { id } = ctx.user;
    // 2.操作数据库
    const result = await opusService.create(id, opusKey, opusValue, opusLink);
    // 3.返回结果
    ctx.body = result;
  }

  // 删除一个作品
  async remove(ctx, next) {
    // 1.获取参数
    const { opusId } = ctx.request.body;
    const { id } = ctx.user;
    // 2.操作数据库
    const result = await opusService.remove(id, opusId);
    // 3.返回结果
    ctx.body = result;
  }

  // 修改一个作品
  async update(ctx, next) {
    // 1.获取参数
    const { opusId, opusKey, opusValue, opusLink } = ctx.request.body;
    const { id } = ctx.user;
    // 2.操作数据库
    const result = await opusService.update(id, opusId, opusKey, opusValue, opusLink);
    // 3.返回结果
    ctx.body = result;
  }

  // 获取作品列表
  async list(ctx, next) {
    // 1.获取参数
    const { userId } = ctx.query;
    // 2.操作数据库
    const result = await opusService.list(userId);
    // 3.返回结果
    ctx.body = result;
  }

}

module.exports = new OpusController();
